package Serialization;

import java.util.ArrayList;

import Carte.Trajet;
import Client.Reservation;
import Passager.Passager;
import Serveur.Serveur;
import Transports.Transports;

/**
 * classe de serialisation mere
 * @author belli
 *
 */
public abstract class Serialisation {
	Serveur serv;
	
	/**
	 * Constructeur normal
	 */
	public Serialisation(Serveur serv){
		this.serv = serv;
	}
	
	/**
	 * Methode permettant de remplir une liste de tranport
	 * @return
	 */
	public abstract ArrayList<Transports> fillOutListeTransport();
	
	/**
	 * Methode permettant de remplir une liste de trajet
	 * @return
	 */
	public abstract ArrayList<Trajet> fillOutListeTrajet();
	
	/**
	 * Methode permettant de remplir une liste de Reservations
	 * @return
	 */
	public abstract ArrayList<Reservation> fillOutListeReservation();
	
	/**
	 * Methode permettant de remplir une liste de Passager
	 * @return
	 */
	public abstract ArrayList<Passager> fillOutListePassager();
	
	/**
	 * Méthode serialisant les lites
	 * @param ListeTransport
	 * @param ListeTrajet
	 * @param ListeReservation
	 * @param ListePassager
	 */
	public abstract void serializeListe(ArrayList<Transports> ListeTransport,
			ArrayList<Trajet> ListeTrajet,
			ArrayList<Reservation> ListeReservation,
			ArrayList<Passager> ListePassager
	);
}
